package 微服务.SpringCloud_1.Nacos_3.Nacos注册中心_1.Nacos和Eureka的区别_7;

/**
 * Nacos和Eureka的区别
 */
public class index {
    /**
     * 在讲Eureka时，我们说到服务消费者需要调用服务时，会向注册中心（Eureka或Nacos）拉取服务信息<p>
     * 但其实这个操作不是每一次都要做的。如果每一次拉取服务都需要去访问注册中心，那不管是Eureka还是Nacos，所要面临的压力都是很大的<p>
     * 所以作为消费者，他会将拉取到的信息缓存到一个列表中，这样一来，在接下来的一段时间内，就可以不用去拉取了<p>
     * 而又为了防止服务出现改动或者异常，这个列表会每隔30s去重新缓存服务信息，也就是每隔30s都会重新拉取服务信息<p></p>
     * <p>
     * 以上的操作，对于Eureka和Nacos都是一样的<p>
     * 而它们的不同点在于服务提供者的健康检测<p>
     * Nacos会把服务提供者划分为<a href="">临时实例</a>（默认）和<a href="">非临时实例</a><p>
     * 临时实例，我们可以随时停掉，它与Nacos服务端做<a href="">心跳监测</a>，只不过Nacos和Eureka频率不同（Nacos快）<p>
     * 而非临时实例不会去做心跳监测，而是由Nacos主动发请求去询问健康状态<p>
     * 当非临时实例挂了，Nacos也不会把它从服务列表中剔除<p>
     * 而是标记其不健康，然后等着这个服务恢复健康<p>
     * 但主动检测对服务器压力较大，所以建议尽量使用临时实例<p></p>
     *
     * <p>
     * 还有一个不同点在于服务消费者服务的定时拉取<p>
     * Eureka中只是30s拉取一次服务，在30s内出问题消费者是不知道的，效率比较差<p>
     * 而Nacos还做了一个消息推送<p>
     * 如果Nacos服务端发现有服务变更了，就会立即将消息推送给消费者，让消费者及时去更新<p>
     *
     * @param args
     */
    public static void main(String[] args) {

    }
}
